import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

public class Wordf {

    public static void main(String[] args) throws IOException {
        try {
            FileReader fr = new FileReader(args[1]);
            BufferedReader br = new BufferedReader(fr);
            NumberFormat nf = NumberFormat.getInstance();

            nf.setMaximumFractionDigits(2);
            HashMap<String, Integer> map = new HashMap<String, Integer>();

            String string =null;
            Integer count = 0;
            Integer total = 0;

            while ((string=br.readLine())!=null) {
                char[] ch = string.toCharArray();

                for (int i = 0; i < ch.length; i++) {
                    if (ch[i] > 'A' && ch[i]< 'z') {

                        total++;
                        ch[i] = Character.toLowerCase(ch[i]);
                        count = map.get(ch[i]+"");
                        if (count == null) {
                            count = 1;
                        }else {
                            count++;
                        }
                        map.put(ch[i]+"", count);
                    }
                }
            }
            ArrayList<String> list = new ArrayList<String>();
            list.addAll(map.keySet());

            for(int i = 0;i < list.size();i++)
            {

                for(int j = 0;j < (list.size() - i-1);j++)
                {

                    if(map.get(list.get(j)) < map.get(list.get(j+1)))
                    {
                        String t = list.get(j);
                        list.set(j, list.get(j+1));
                        list.set( j+1, t);
                    }
                }
            }
            for(int i = 0 ; i < list.size();i++)
            {
                System.out.println(list.get(i) + ":" + map.get(list.get(i)) +"   "+ nf.format((float)(map.get(list.get(i)))*100/total) + "%");
            }


        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }




}